package vn.fsoft.gst.service;

import java.util.List;

import vn.fsoft.gst.domain.Department;

/**
 * 
 * @author Tung
 *
 */

public interface DepartmentService {
	
	/**
	 * add department object in database
	 * @param department object need add
	 * @return primary key of data
	 */
    public Integer addDepartment(Department object);
    
    /**
     * get all list department in database
     * @return List<Department>
     */
    public List<Department> getListDepartment();
    
   /**
    * edit information where department name
    * @return number row effect
    */
    public int editDepartment(Department object);
    
    /**
     * get information department where department name
     * @param department
     * @return
     */
    public Department getDepartmentById(int id);
    
    /**
     * mark active department
     * @param departmentId
     * @return
     */
    public int markActiveDepartment(int departmentId);
    
    /**
     * get all Department object where directorateId
     * @param id ID of directorate
     * @return list<Department>
     */
    public List<Department> getListDepartmentByDirecId(int id);
    
    /**
     * mark in active department
     * @param departmentId
     * @return id of row effect
     */
    public int markInActiveDepartment(int departmentId);
    
    /**
     * check unique department name in database
     * @param departmentName
     * @return true or false
     */
    public boolean checkUniqueName(String departmentName);
}
